﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FrontEndPlus.Módulos.Inventarios
{
    public partial class wbfrm_Buscar_Proveedor : System.Web.UI.Page
    {
        #region Variables

        private WCF_Gimnasio.cls_Proveedor _proveedor = new WCF_Gimnasio.cls_Proveedor();
        private WCF_Gimnasio.ServiceClient _servicio = new WCF_Gimnasio.ServiceClient();

        private  int bandera;

        #endregion
        #region Metodos
        private void CargarProveedores()
        {
            _proveedor.IdUsuarioInicioSeccion = Convert.ToInt32(HttpContext.Current.Session["idUsuario"].ToString());
            gv_proveedores.DataSource = _servicio.Listar(5, _proveedor);
            gv_proveedores.DataBind();
            _servicio.Close();
            if (gv_proveedores.Rows.Count <= 0)
                lbl_mensaje.Text = "NO HAY PROVEEDORES CON LOS DATOS SUMINISTRADOS";
            else
                lbl_mensaje.Text = string.Empty;
            
        }
        private void retornaDatos(int fila)
        {
            if (fila > -1)
            {
                string codigo = gv_proveedores.Rows[fila].Cells[0].Text;
                string nombre = gv_proveedores.Rows[fila].Cells[1].Text;
                string plazo = gv_proveedores.Rows[fila].Cells[3].Text;

                bandera = Convert.ToInt32(Request.QueryString["bandera"]);
                if (bandera == 2)
                {
                    Response.Redirect("wbfrm_CuentasPorPagar.aspx?idProv=" + codigo + "&nomProv=" + nombre + "&plazo=" + plazo);
                }
                else if(bandera == 1)
                {

                    Response.Redirect("wbfrm_Pedidos_Proveedores.aspx?idProv=" + codigo + "&nomProv=" + nombre + "&plazo=" + plazo+"&limpiar=true");
                }
            }
        }
        private void filtraProveedores(string filtro)
        {
            try
            {
                _proveedor.IdUsuarioInicioSeccion = Convert.ToInt32(HttpContext.Current.Session["idUsuario"].ToString());
                
                string[] arreglo = new string[2];
                arreglo[0] = "0";
                arreglo[1] = filtro;
                _proveedor.Filtros = arreglo;
                
                gv_proveedores.DataSource = _servicio.Listar(2,_proveedor);
                gv_proveedores.DataBind();
                _servicio.Close();
                if (gv_proveedores.Rows.Count <= 0)
                    lbl_mensaje.Text = "NO HAY PROVEEDORES CON LOS DATOS SUMINISTRADOS";
                else
                    lbl_mensaje.Text = string.Empty;
            }
            catch (Exception ex) { Response.Write(ex.Message); }
        }
        #endregion
        #region Eventos
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.CargarProveedores();
            }

        }

        protected void b_volver_Click(object sender, EventArgs e)
        {
            bandera = Convert.ToInt32(Request.QueryString["bandera"]);
            if (bandera == 2)
                Response.Redirect("wbfrm_CuentasPorPagar.aspx");
            else if(bandera == 1)
                Response.Redirect("wbfrm_Pedidos_Proveedores.aspx?limpiar=false");
        }
        

        protected void gv_proveedores_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int fila = Convert.ToInt32(e.CommandArgument);
            this.retornaDatos(fila);
        }
        #endregion

        protected void txt_nombre_TextChanged(object sender, EventArgs e)
        {
            if(txt_nombre.Text != string.Empty)
                this.filtraProveedores(txt_nombre.Text);
            else
                this.CargarProveedores();
        }
    }
} 